package com.example.fileserver_API.Controller.Board;

import com.example.fileserver_API.Entity.VO.APIResult;
import com.example.fileserver_API.Interfaces.IService.Board.IBoardService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/API/Board")
@CrossOrigin
public class BoardController {
    @Autowired
    IBoardService iBoardService;

    /**
     * 获取上传文件的所有父类文件夹
     * @return APIResult
     */
    @GetMapping("/GetFiles")
    public APIResult GetFiles(){
        return iBoardService.GetFiles();
    }

    /**
     * 获取主文件中的所有文件排除日期分类的文件夹
     * @return APIResult
     */
    @GetMapping("/GetFileStatiStics")
    public APIResult GetFileStatiStics(){
        return iBoardService.GetFileStatiStics();
    }

    /**
     * 获取月统计上传数量
     * @return APIResult
     */
    @GetMapping("/GetMouthCount")
    public APIResult GetMouthCount(){
        return iBoardService.GetMouthCount();
    }

    /**
     * 获取最新的30条上传记录
     * @return APIResult
     */
    @GetMapping("/GetHistory")
    public APIResult GetHistory(){
        return iBoardService.GetHistory();
    }

    /**
     * 获取一星期之内的所有文件上传情况
     * @return APIResult
     */
    @GetMapping("/GetWeekInfo")
    public APIResult GetWeekInfo(){
        return iBoardService.GetWeekInfo();
    }

    /**
     * 根据文件的后缀名进行统计
     * @return APIResult
     */
    @GetMapping("/GetSuffixCount")
    public APIResult GetSuffixCount(){
        return iBoardService.GetSuffixCount();
    }

    /**
     * 文件月度总汇
     * @return APIResult
     */
    @GetMapping("/GetMonthlyCount")
    public APIResult GetMonthlyCount(){
        return iBoardService.GetMonthlyCount();
    }
}
